package com.ruoyi.InventoryInfo.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 存货入库对象 inventory_inbound
 * 
 * @author Mr.阚
 * @date 2025-03-12
 */
public class InventoryInbound extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private Long id;

    /** 单据编号 */
    @Excel(name = "单据编号")
    private String documentNo;

    /** 单据日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "单据日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date documentDate;

    /** 入库类型 */
    @Excel(name = "入库类型")
    private String inboundType;

    /** 仓库名称 */
    @Excel(name = "仓库名称")
    private String warehouseName;

    /** 入库数量 */
    @Excel(name = "入库数量")
    private Long inboundQuantity;

    /** 成本总额 */
    @Excel(name = "成本总额")
    private BigDecimal totalCost;

    /** 供应商 */
    @Excel(name = "供应商")
    private String supplier;

    /** 项目 */
    @Excel(name = "项目")
    private String project;

    /** 部门 */
    @Excel(name = "部门")
    private String department;

    /** 经手人 */
    @Excel(name = "经手人")
    private String handler;

    /** 制单时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "制单时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date documentTime;

    /** 制单人 */
    @Excel(name = "制单人")
    private String documentMaker;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setDocumentNo(String documentNo) 
    {
        this.documentNo = documentNo;
    }

    public String getDocumentNo() 
    {
        return documentNo;
    }

    public void setDocumentDate(Date documentDate) 
    {
        this.documentDate = documentDate;
    }

    public Date getDocumentDate() 
    {
        return documentDate;
    }

    public void setInboundType(String inboundType) 
    {
        this.inboundType = inboundType;
    }

    public String getInboundType() 
    {
        return inboundType;
    }

    public void setWarehouseName(String warehouseName) 
    {
        this.warehouseName = warehouseName;
    }

    public String getWarehouseName() 
    {
        return warehouseName;
    }

    public void setInboundQuantity(Long inboundQuantity) 
    {
        this.inboundQuantity = inboundQuantity;
    }

    public Long getInboundQuantity() 
    {
        return inboundQuantity;
    }

    public void setTotalCost(BigDecimal totalCost) 
    {
        this.totalCost = totalCost;
    }

    public BigDecimal getTotalCost() 
    {
        return totalCost;
    }

    public void setSupplier(String supplier) 
    {
        this.supplier = supplier;
    }

    public String getSupplier() 
    {
        return supplier;
    }

    public void setProject(String project) 
    {
        this.project = project;
    }

    public String getProject() 
    {
        return project;
    }

    public void setDepartment(String department) 
    {
        this.department = department;
    }

    public String getDepartment() 
    {
        return department;
    }

    public void setHandler(String handler) 
    {
        this.handler = handler;
    }

    public String getHandler() 
    {
        return handler;
    }

    public void setDocumentTime(Date documentTime) 
    {
        this.documentTime = documentTime;
    }

    public Date getDocumentTime() 
    {
        return documentTime;
    }

    public void setDocumentMaker(String documentMaker) 
    {
        this.documentMaker = documentMaker;
    }

    public String getDocumentMaker() 
    {
        return documentMaker;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("documentNo", getDocumentNo())
            .append("documentDate", getDocumentDate())
            .append("inboundType", getInboundType())
            .append("warehouseName", getWarehouseName())
            .append("inboundQuantity", getInboundQuantity())
            .append("totalCost", getTotalCost())
            .append("supplier", getSupplier())
            .append("project", getProject())
            .append("department", getDepartment())
            .append("handler", getHandler())
            .append("documentTime", getDocumentTime())
            .append("documentMaker", getDocumentMaker())
            .toString();
    }
}
